package 设计模式.创建型模式.demo01工厂方法;

import 设计模式.创建型模式.demo01工厂方法.dialog.Dialog;
import 设计模式.创建型模式.demo01工厂方法.dialog.WebDialog;
import 设计模式.创建型模式.demo01工厂方法.dialog.WindowsDialog;

/**
 * @author: 王富贵
 * @description: 主启动类
 * @createTime: 2022年10月27日 18:04:29
 */
public class Application {
    public static void main(String[] args) {

        //在程序启动时，需要创建工厂
        Dialog dialog = initDialog("web");

        // 我们在模拟客户端使用，并不关心是具体拿个工厂
        dialog.createButton();
    }

    // 传进来名称，应用工厂创建
    public static Dialog initDialog(String dialogName){
        if (dialogName.equals("windows")){
            return new WindowsDialog();
        }else if(dialogName.equals("web")){
            return new WebDialog();
        }
        return null;
    }
}
